// Module : Sorts
// Contient les fonctions de gestion des sorts du jeu

#ifndef SORTS__H__
#define SORTS__H__

#include <stdlib.h>

#include "constantes.h" // pour le type des attaques


// Définition du type (cf sorts.c)
typedef struct sort* sort;

// Alloue la mémoire pour un sort
sort SPLnew();

// Libère la mémoire occupée par un sort
void SPLfree(sort spl);



// Fonctions de récupération d'informations sur les sorts

// Récupération du nom du sort
char* SPLgetName(sort spl);

// Récupération du niveau nécessaire pour utiliser le sort
int SPLgetLevel(sort spl);

// Récupération du prix d'achat du sort
int SPLgetPrix(sort spl);

// Récupération de l'identifiant du sort
int SPLgetId(sort spl);

// Récupére le minimum de dégâts infligés par le sort
int SPLgetDmgMin(sort spl);

// Récupère le maximum de dégâts infligés par le sort
int SPLgetDmgMax(sort spl);

// Récupère le type du sort
type_attaque SPLgetType(sort spl);
///////////////////



// Fonctions d'affectation pour les sorts

// Change le nom du sort
void SPLsetName(sort spl, char* nom);

// Change le prix d'achat du sort
void SPLsetPrix(sort spl, int prix);

// Change le niveau d'un sort
void SPLsetLevel(sort spl, int lvl);

// Change l'identifiant d'un sort
void SPLsetId(sort spl, int id);

// Change les dégâts min d'un sort
void SPLsetDmgMin(sort spl, int dmg);

// Change les dégâts max d'un sort
void SPLsetDmgMax(sort spl, int dmg);

// Change le type d'un sort
void SPLsetType(sort spl, type_attaque type);
/////////////////////


#endif
